In a broadcast environment, such as interactive television, a broadcast server generally defines a set of resources to be broadcast over a broadcast path. The broadcast path is typically unidirectional, and the resources are broadcast to one or more receivers. An interactive television receiver ordinarily connects to a television or other display device, which can ultimately display the resources to a user. The receiver may also communicate with the broadcast server or with other devices using a point-to-point path, and the point-to-point path may be used to retrieve resources that are not available on the typically faster broadcast path.
One type of resource that may be used in an interactive television environment is a Hypertext Markup Language (“HTML”) resource. HTML applications can be made of a number of resources referenced through unique identifiers, such as a uniform resource locator (“URL”) or a uniform resource identifier (“URI”). These identifiers point to resources, such as a server or other computer, on which the HTML application may be stored.
An application can be authored in a scripting language, e.g. HTML and Javascript, and published to a recipient using a HyperText Transfer Protocol (“HTTP”) server. A software component, such as a browser can receive the application and display the application's resources. To render an HTML resource, the HTML browser typically establishes a connection with the server indicated by an identifier, such as a URL (for example) and fetches the resource. The communication scheme between the HTML browser and the application server is generally a point-to-point scheme, where the HTML browser establishes a bi-directional connection with the server. This scheme may contrast with the unidirectional broadcast path in an interactive television environment.
One example of an application that Digital TV has made possible is interactive television. In an interactive television service, an HTML browser may operate on a Digital TV device. An application is then rendered onto a display connected to the Digital TV device by establishing a connection with the server publishing the application. Although dedicated for television use, the Digital TV environment based on an HTML browser does not provide many of the advantages of a broadcast environment.
One way to provide HTTP resources in a broadcast environment is by using Unidirectional HyperText Transfer Protocol (“UHTTP”). UHTTP provides a method for broadcasting and locally storing resources. In UHTTP, a UHTTP server feeds the recipient's local cache by sending data until the cache fills or until all the data has been sent. A drawback of UHTTP is that the amount of data that can be transmitted to a recipient is limited to the recipient's local storage capabilities. Many interactive television receivers currently in use have a limited memory capacity. The local caching strategy used by UHTTP for handling HTTP resources can therefore disadvantageously limit the efficiency of low-memory interactive television receivers.
In addition, interactive television receivers may request resources via, either point-to-point or broadcast paths. UHTTP systems, however, require that an application use a specific syntax for requests of resources from broadcast paths. The syntax used for requests on the broadcast paths differs from the syntax for requests of resources on point-to-point paths. This difference in syntax may result in an interactive television receiver requesting a resource over the broadcast path that is not available on the broadcast path.
Therefore, there exists a need for a new and improved system and method for sending and receiving resources in an interactive television environment.